[アップデート] DLM が cron 式に対応!時間単位〜年単位まで柔軟なバックアップ間隔が可能に
ちゃだいん(@chazuke4649)です。
Amazon DLM (Data Lifecycle Manager)で、cron式のスケジューリング対応と、週・月・年単位の周期が設定可能になりました!
Data Lifecycle Manager が cron 式に基づくスケジューリングと、週単位、月単位、および年単位のスケジュールを含む追加のバックアップ間隔をサポート
他にも多くのAWSサービスがcron式に対応してますが、ついに DLM も例に漏れず対応されましたね。
早速、触ってみたいと思います。
cron 式での記入方法は、以下ドキュメントを参考ください。
Schedule Expressions for Rules - Amazon CloudWatch Events
そもそも DLM とは? という方は、以下エントリを参考ください。
やってみた
前提
前準備として、以下はすでに作成済みとします。
- 対象のEBSは作成済み
- タグにて
name:dml-target,value:true
を付与
1.ライフサイクルポリシーを作成する
マネジメントコンソールから行う場合は、EC2コンソールから開きます。
「スナップショットのライフサイクルポリシーを作成する」を押します。
ライフサイクルポリシー作成画面は以下のような設定で進めます。
下記画面でのポイントは以下です。
- リソースタイプを
ボリューム
を選択したこと - ターゲットを
name:dml-target,value:true
のタグで判別する
続いて今回メインとなるスケジュールのエリアです。
「ポリシーを次の時間ごとで実行する」の項目でcustom cron expression
が追加されていました。
これを選択し、cron(30 9 29 5 ? *)
と入力しました。
意味としては、「毎年5月29日09時30分(UTC)」となります。(あまりしない周期ですが、月単位を使用するためにやってみました)
※ただし、1回目の作成開始時間は、ドキュメントに下記記載があり、1時間以内に開始されるようです。
最初のスナップショットは、対応するポリシーに基づき、指定開始時刻から 1 時間以内に作成されます。
Amazon EBS スナップショットライフサイクルの自動化
他の設定はデフォルトで進め、ライフサイクルポリシー作成を実行します。
2.実行結果を確認する
時間を空けて、EC2コンソールのスナップショットの画面を開いてみます。
すると、下図の通りでした。
ちゃんとできていましたね!
説明部分に、Created for policy:policy ID の記載があり、どのライフサイクルポリシーによるものかわかります。
(実際は、固有のタグ付け設定を有効にするのが良いかと思われます)
終わりに
今回のアップデートによって、DLMのスケジュール設定がとても柔軟になりました。
ぜひ一度使ってみてはいかがでしょうか?
それではこの辺で。ちゃだいん(@chazuke4649)でした。